﻿#ifndef CLS_TREEITEM_H
#define CLS_TREEITEM_H

#include <QString>
#include <QVector>
#include "CLS_ItemButton.hpp"

/**
枚举名称 : n_TreeExpandType
描述 : 树节点类型
**/
typedef enum{
    n_TreeItemType_Node = 0,  //存在下级
    n_TreeItemType_LeafNode,  //叶子节点
} n_TreeItemType;

/**
类名称 : CLS_TreeItem
功能 : 树节点信息绑定的数据类
备注 :
典型用法:
**/
class CLS_TreeItem : public Common::CLS_ItemBase
{
public:
    /**
    函数名称: CLS_TreeItem
    功   能: 构造函数
    输入参数: 无
    输出参数：无
    返 回 值：无
    其   他：无
    **/
    CLS_TreeItem(){}

public:
    /** 功能: m_qstrParentId - 父节点ID **/
    QString m_qstrParentId = "";

    /** 功能: m_iItemType - 节点类型 **/
    n_TreeItemType m_iItemType = n_TreeItemType_Node;

    /** 功能: m_iSort - 显示顺序 **/
    int m_iSort = 99;

    /** 功能: m_qvecItemButtons - 节点按钮列表 **/
    QVector<CLS_ItemButton> m_qvecItemButtons;

    /** 功能: m_iItemFlag - 节点标志 **/
    Qt::ItemFlags m_iItemFlag = Qt::NoItemFlags;
};

Q_DECLARE_METATYPE(CLS_TreeItem)

#endif // CLS_TREEITEM_H
